1. Field of the Invention
The present invention relates to non-volatile electronic counters and, in particular, to a non-volatile electronic counter with improved reliability and a substantially increased maximum count.
2. Description of the Related Art
Historically, electro-mechanical counters have been utilized to maintain a non-volatile record of a variety of events from the number of miles driven by an automobile to the amount of services, such as power, gas, or water, that each individual consumer within a utility system has consumed. More recently, non-volatile electronic counters have begun to replace electro-mechanical counters due to the increased flexibility provided by electronic counters. For example, due to the high cost associated with periodically manually reading each consumer's meter, utility systems have begun evaluating techniques for utilizing non-volatile electronic counters which can be remotely accessed and read.
One common technique for implementing a non-volatile electronic counter is to utilize a microcontroller or simple counting logic to count the number of events, such as the miles driven or services consumed, and a conventional electrically-erasable-programmable-read-only-memory (EEPROM) to maintain a non-volatile record of the count.
With this technique, the microcontroller or counting logic typically receives an external signal which indicates that an event has occurred and then increments the count held by the EEPROM. Typically, the microprocessor or counting logic stores the count in the EEPROM as a base-2 or binary representation of the number.
The principal disadvantage of this implementation is that the maximum count of the counter is limited by the lifecycle of the EEPROM. The current state of EEPROM technology is limited to producing memory cells with a maximum lifecycle of approximately 1,000,000 logic state transitions, e.g., transitioning from a zero to a one or from a one to a zero. As is well known, when a base-2 representation is utilized, the least significant counting position of the representation changes its logical state with each count.
This, in effect, limits a standard EEPROM to 1,000,000 counts since after 1,000,000 counts the memory cell representing the least significant counting position of the count will have "worn out". For those applications where hundreds of millions of counts are required, conventional EEPROMs fail to provide the endurance which is characteristic of the current electro-mechanical counters.
A further disadvantage of this implementation is reliability. When a single EEPROM memory cell "wears out", the subsequent count represented by the EEPROM is no longer valid. For example, if the memory cell representing the least significant counting position becomes stuck and no longer changes its logical state with each additional count, the result is that the entire counter becomes stuck.
In addition, when microcontrollers are utilized, the periodic "crashes" which commonly result from transient conditions, such as power surges, frequently cause the microcontroller to skip through its code and begin executing its instructions out of sequence. This out-of-sequence code execution often results in erroneous counts being written to the EEPROM.
In addition, transient conditions frequently randomize the state of both the data and the state control registers of volatile counter logic. This can result in random data also being recorded in the non-volatile counter register.
Thus, there is a need for a non-volatile electronic counter which can reliably maintain a non-volatile record of counts well in excess of 1,000,000.